
#ifndef __ZLIB_INTERFACE_H
#define __ZLIB_INTERFACE_H

#include <zlib.h>

/** An interface encapsulating the Zlib library. */
class ZlibInterface
{
   public:
      static void destroyInstance();
      static ZlibInterface &getInstance();
      ~ZlibInterface();
      static void func_CheckZlibError(int status, const char *fpretty, int line);
   private:
      ZlibInterface();
      static ZlibInterface *zlib_iface_singleton;
};

#define CheckZlibError(status) ZlibInterface::func_CheckZlibError(status, __PRETTY_FUNCTION__, __LINE__)

#endif
